2022 年 17 个最佳 DevOps 工具
大家好,我是TJ
一个励志推荐10000款开源项目与工具的程序员
让我们从基础设施代码 (IaC) 和配置管理开始。
Infrastructure as Code / Configuration Management
Infrastructure as code (IaC) 可以帮助我们自动的提供云基础架构。
无论是 VM、数据库、云网络、安全等,您都可以创建一个包含所有细节的 JSON 或 YAML 模板,然后将其用作自动创建类似环境的蓝图。
另一方面,配置管理并不以任何基础设施的供应为目标。
它管理一个服务器集群的服务器配置,并确保在服务器集群中的所有服务器中自动维护服务器配置。
基础设施即代码使基础设施自动化,而配置管理则使服务器的配置自动化。让我们回顾一些用于 IaC 和配置管理的顶级工具。
1. Terraform
Terraform 是一个独立于供应商的基础设施配置工具。它由 Hashicorp 拥有,可用于自动创建任何云服务,包括网络,服务,防火墙,数据库等。
Terraform 之所以如此受欢迎,是因为它不与任何特定的云供应商绑定,因此您可以轻松地从一个云移动到另一个云。
其次是开源的,有很大的社区支持,terrform 代码是用它自己的领域特定语言 (称为 HCL) 编写的,这意味着它有一个轻微的学习曲线。
2. Pulumi
Pulumi 也是一个和 terraform 相似的 IaC 工具。你可以使用 Pulumi 来提供几乎所有的云服务。
在测试和构建脚本方面,Pulumi 比 Terraform 具有优势。
与 terrraform 不同的是,Pulumi 允许您使用任何现代编程语言 (如 python、java、golang、typescript 等) 编写代码。
这为调试和测试提供了更好的支持,但是,Pulumi 的社区支持与 terrform 相比还是远远不够的。
想要知道接下来如何选择 Terraform 和 Pulumi,可以详细阅读该文章:
https://www.qovery.com/blog/terraform-vs-pulumi-what-to-use-in-2022
3. Ansible
Ansible 是一个功能强大的配置管理工具,用于自动化版本化的软件组件安装、操作系统配置任务、网络和防火墙配置等。
例如,如果您有用于登台和生产的独立服务器集,那么 ansible 可以帮助您编写脚本,这些脚本可用于自动化和管理这些服务器集的服务器配置。
Ansible 脚本是用 Yaml 编写的。
Continuous Integration
持续集成是频繁组合和合并不同开发人员代码的实践,以便尽可能频繁地测试应用程序构建。一旦您提交了代码,构建过程就会运行并创建用于测试的构建。以下是一些用于持续集成的最佳工具:
4. CircleCI
CircleCI 是一个 CI/CD 平台,可帮助您构建和运行构建管道。
通过 CircleCi,您可以在每个提交中自动化应用程序的构建和测试。
它具有现代且非常友好的界面。它支持许多复杂的构建管道。它具有免费的和付费版本。
5. Github Actions
尽管许多公司已经使用 GitHub 进行代码托管,但他们正在寻找现有的代码存储库来支持其自己的集成 CI/CD 工作流。
Github Actions 是一个强大的功能,可以让您在不同的平台上构建、测试和部署您的应用程序。
如果您已经使用 Github 作为您的源代码库,那么您持续集成的首选将是 Github actions。
6. Gitlab CI
Gitlab CI 也是一个比较强大的持续集成工具。
和 Github Actions 一样,它使用 YAML 文件并支持 docker。
Gitlab 的 DevOps 特性可以帮助用户完成不同的任务,包括构建和测试应用程序、检测代码语言、部署应用程序以及扫描漏洞。
Deployment tools
执行代码的连续集成后,下一步是连续部署和交付。让我们回顾一些连续交付 / 部署的最佳工具,这些工具不仅要照顾部署自动化,还要照顾基础架构自动化。
7. Harness
Harness 是一个现代软件交付平台。
在对代码进行持续集成并准备好构建之后,Harness 将把构建工件从构建阶段带到生产阶段。
它以 SaaS 的形式运行,支持 GitOps 风格的开发,与 Git 存储库挂钩,并具有秘密管理功能。
它与 Kubernetes 有很好的集成。Harness 会提供制品和 Kubernetes manifests 文件,并将它们部署到所需的 Kubernetes 集群。
8. CodeFresh
CodeFresh 是一个 All-in-One 的解决方案,从头到尾都实现了整个代码管道。
从创建提交直到部署到生产的那一刻起,它就会处理 DevOps 的所有方面。
它具有一组强大的插件,其中包括 Helm 和许多其他流行的 CI/CD 工具,例如 Jenkins。
它具有对 Kubernetes 群集的本地支持,不仅用于部署应用程序,而且还用于在 Kubernetes 上运行管道。
9. Helm
Helm 是一个 Kubernetes 部署管理器,用于自动化应用程序的创建、打包、配置和部署到 Kubernetes 集群。
管理 Kubernetes YAML 清单文件,即使是简单的部署,也是非常耗时和容易出错的,Helm 通过创建一个可以部署到您的 Kubernetes 集群的包来简化工作。
10. Kubernetes
Kubernetes 大规模云原生应用程序的自动化部署和操作系统。它是市场上最好的开源容器编排工具。Kubernetes 自动化跨不同基础设施环境的容器部署,并确保所有资源都得到有效利用。
Environment-as-Service
Environment as service (EaaS) 是一个新兴的类别,被许多 DevOps 团队所采用。
通过 EaaS,您可以快速部署并方便地按需部署预配置环境。按需环境是 EaaS 的核心。
按需环境是一个完整的部署环境,可以通过 EaaS 自动提供。环境的自动供应可以帮助您更快地推销您的产品,提高团队成员之间的相互协作,并通过快速发布周期将您的产品提升到下一个层次。
11. Qovery
Qovery 建立了一个现代化的平台,只需几秒钟就可以在 AWS 上部署按需环境。
通过 Clone 环境特性,您可以非常简单地创建 Staging、UAT、Production 或任何其他环境的按需副本。
另一个致命的特性是预览环境,您可以在每个拉请求中自动获得生产环境 (包括应用程序、数据库和配置) 的副本,因此您可以在不影响生产的情况下自信地测试更改。
Config/Secret Management
保护您的配置是安全 SDLC 的一个关键方面。以下是一些用于以安全形式保存环境变量和配置的顶级工具。
12. Doppler
Doppler 是开发人员和安全团队使用的多云的 SecretOps 平台,以安全的方式管理其应用程序秘密。
它为密钥和应用程序配置提供了一个可信任的中心源,它支持 Docker,无服务器和所有云供应商。如果您的应用程序具有通过微服务,CI/CD 和多云部署平台组织的秘密,则是开发人员的首选。
13. Vault
Vault 是由 Hashicorp 开发的 密钥管理工具,和 Terraform 归属于一家公司。
它具有广泛的集成列表,主要关注身份验证和秘密存储。它是基于键值的安全存储,您可以保护对令牌,密码,证书,加密密钥等的访问。
Infrastructure Monitoring
下面是一些用于观测云基础设施的顶级工具:
14. Grafana
Grafana 是可观察性和数据可视化的开源平台。
它使您可以通过在线可用的用户友好仪表板查看云服务,基础架构和网络,并且可以在所有设备上访问。
15. Datadog
Datadog 一个专为 DevOps 团队提供的基于 SaaS 的分析和监控工具。
使用 datdog,团队可以确定基于云的基础设施的性能指标和事件监控,和 Grafana 一样,datdog 也支持 Kubernetes 监控。
16. Newrelic
Newrelic 也是一个 SaaS 工具,用于监视应用程序和基础设施的性能和可用性。
Newrelic 还提供应用程序的实时监控。
如果您希望对基于云的应用程序进行详细的性能监视,那么它是理想的选择。
17. Prometheus
Prometheus 是一个云原生监控工具和系统。
它用于事件监视和警报。
它是开源的,对 Kubernetes 监视有很强的支持。
它是监视基础设施和应用程序的最简单、最简单的工具之一。
结论
基础架构自动化是每个 DevOps 团队成功的关键。选择最适合您需求的基础架构自动化和监视工具并不容易。成本,技能,功能,UI/UX 等许多因素在为您的业务选择合适的工具方面起着决定性的作用。最好的选择是不使用一种工具。相反,使用适合您需求的工具组合。
而作者所在的团队正是 EaaS 厂商 Qovery ,而他们在整个 DevOps 的环节中也使用了如下的工具:
IaC: Terraform CI/CD: GitHub Actions, Gitlab CI Deployment tools: Helm, Kubernetes Environment as a Service: Qovery Secret Management: Vault, AWS KMS Observability & Monitoring: Datadog, Grafana (including Loki & Promtail), Prometheus (including Alertmanager)
往期推荐
点击下方卡片,关注公众号“TJ君”
每天了解一个牛x、好用、有趣的东东